<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>EasyIO-GPRS-Framework: easyio_api结构参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li class="current"><a href="annotated.html"><span>类</span></a></li>
      <li><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>组合类型列表</span></a></li>
      <li><a href="functions.html"><span>组合类型成员</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">公有属性</a>  </div>
  <div class="headertitle">
<h1>easyio_api结构参考</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="easyio_api" -->
<p><a href="structeasyio__api-members.html">所有成员的列表。</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
公有属性</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a43be80ce5ebd638efe4b6af8e358686f">SerialPrintf</a> )(USART_PORT_NUM port, char *fmt,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a1298934569b7e9b86cee12ff6cfd00de">WriteSerial</a> )(USART_PORT_NUM port, unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a7274351a1e90fd37a14cd54ac422f3b0">ReadEEPROM</a> )(int pos, unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a74371fc16142695ab3b29d05fe425312">WriteEEPROM</a> )(int pos, unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#af3e6a306a1a65ded6d5ca09cf3edab15">GetGsmLoc</a> )(struct <a class="el" href="structGsmLocInfo.html">GsmLocInfo</a> *info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ad40530d74061e02d17ebbf8226c38693">SendSms</a> )(const char *phonenum, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#acc85d91094267019c995d422f7374b5c">SendTcpData</a> )(unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a687bd71e660b5262e599b0dcbba125e4">SendP2paMsg</a> )(const char *imei, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a10bd83b74e7674cf1b41c1c835f67e18">SendXmppMsg</a> )(const char *to, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a4aed707d19689eaf460d796e533dc7a5">HttpRequest</a> )(const char *url, const char *UserHeader, char *RespBuffer, int RespBufSize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ac4641b9f122776bf385aa367442e5117">SignalValue</a> )()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a9abdfb8954c0614631aba81b3ca803ea">GetSysInfo</a> )(struct <a class="el" href="structSysInfo.html">SysInfo</a> *info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ab380e2959518653845121398cdae8dd9">CreateThread</a> )(int StackSize, void *ThreadEntry, void *ThreadParam)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EIResult_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#acba344fcea0062f45e37d375fee5965d">AddTask</a> )(void *TaskEntry, void *TaskParam)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a165c7f839018626220040c9d6ec073f3">Sleep</a> )(int tick)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ab2d14bcff1a407065504adfa7847cb87">DelayUS</a> )(int us)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a87b0fc130fd913a428e779b09549984d">EnableWatchDog</a> )()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a0bf72d0606b8256b399516c5db275c2e">ResetSystem</a> )()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a5baf2731b1fc36b8cf995d14333a682a">ResetGprsMoudle</a> )()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a018117a6eafcfe6ff30dd0b3b48f93e9">SetSysDebugMask</a> )(int mask)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ac110b5ee4272d5b0228be46207784335">SetRecvSmsHook</a> )(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(char *phonenum, char *str))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ad93cca0151c9b9f937c7bec2bf85d7f7">SetRecvWechatHook</a> )(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(char *from, char *msg, EIResult_t(*relpy)(char *msg)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a644fdef9503b073e0afa29b52d94b932">SetRecvTcpcliDataHook</a> )(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(unsigned char *buffer, int size))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ae3c9dbc52f62284189c1e4c25eebdedf">SetRecvSerialDataHook</a> )(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(USART_PORT_NUM port, unsigned char *buffer, int size))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a8068c5f078a50b0bc8551b5c6cf9b430">SetRecvDebugDataHook</a> )(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(unsigned char *buffer, int size))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a3ef076065163de890e981162e27f6ff8">RecvSmsFunc</a> )(char *from, char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a4fad4f5f6389e0fa43ec11a4eca4fb78">RecvWechatFunc</a> )(char *from, char *body, EIResult_t(*relpy)(char *msg))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#ac0882bcaab788dd8a9f1dfe1335b0d50">RecvTcpDataFunc</a> )(unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeasyio__api.html#a89edcc1e11ff1453b4798eb5222b1639">RecvSerialDataFunc</a> )(USART_PORT_NUM port, unsigned char *buffer, int size)</td></tr>
</table>
<hr/><h2>成员数据文档</h2>
<a class="anchor" id="acba344fcea0062f45e37d375fee5965d"></a><!-- doxytag: member="easyio_api::AddTask" ref="acba344fcea0062f45e37d375fee5965d" args=")(void *TaskEntry, void *TaskParam)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#acba344fcea0062f45e37d375fee5965d">easyio_api::AddTask</a>)(void *TaskEntry, void *TaskParam)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>创建一个线程</p>
<p>param[in] TaskEntry 任务函数入口 param[in] TaskParam 任务函数参数 </p>
<dl class="return"><dt><b>返回:</b></dt><dd>任务是否添加成功 </dd></dl>

</div>
</div>
<a class="anchor" id="ab380e2959518653845121398cdae8dd9"></a><!-- doxytag: member="easyio_api::CreateThread" ref="ab380e2959518653845121398cdae8dd9" args=")(int StackSize, void *ThreadEntry, void *ThreadParam)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int(* <a class="el" href="structeasyio__api.html#ab380e2959518653845121398cdae8dd9">easyio_api::CreateThread</a>)(int StackSize, void *ThreadEntry, void *ThreadParam)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>创建一个线程</p>
<p>param[in] StackSize 线程运行的栈空间 param[in] ThreadEntry 线程函数入口 param[in] ThreadParam 线程入口函数参数 </p>
<dl class="return"><dt><b>返回:</b></dt><dd>线程ID </dd></dl>

</div>
</div>
<a class="anchor" id="ab2d14bcff1a407065504adfa7847cb87"></a><!-- doxytag: member="easyio_api::DelayUS" ref="ab2d14bcff1a407065504adfa7847cb87" args=")(int us)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#ab2d14bcff1a407065504adfa7847cb87">easyio_api::DelayUS</a>)(int us)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>微妙级延迟函数,高精度。</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a87b0fc130fd913a428e779b09549984d"></a><!-- doxytag: member="easyio_api::EnableWatchDog" ref="a87b0fc130fd913a428e779b09549984d" args=")()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a87b0fc130fd913a428e779b09549984d">easyio_api::EnableWatchDog</a>)()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>打开看门狗</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="af3e6a306a1a65ded6d5ca09cf3edab15"></a><!-- doxytag: member="easyio_api::GetGsmLoc" ref="af3e6a306a1a65ded6d5ca09cf3edab15" args=")(struct GsmLocInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#af3e6a306a1a65ded6d5ca09cf3edab15">easyio_api::GetGsmLoc</a>)(struct <a class="el" href="structGsmLocInfo.html">GsmLocInfo</a> *info)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取基站位置信息</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a9abdfb8954c0614631aba81b3ca803ea"></a><!-- doxytag: member="easyio_api::GetSysInfo" ref="a9abdfb8954c0614631aba81b3ca803ea" args=")(struct SysInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a9abdfb8954c0614631aba81b3ca803ea">easyio_api::GetSysInfo</a>)(struct <a class="el" href="structSysInfo.html">SysInfo</a> *info)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取系统信息</p>
<p>param[out] info : 输出系统信息结构体 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4aed707d19689eaf460d796e533dc7a5"></a><!-- doxytag: member="easyio_api::HttpRequest" ref="a4aed707d19689eaf460d796e533dc7a5" args=")(const char *url, const char *UserHeader, char *RespBuffer, int RespBufSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structeasyio__api.html#a4aed707d19689eaf460d796e533dc7a5">easyio_api::HttpRequest</a>)(const char *url, const char *UserHeader,char *RespBuffer, int RespBufSize)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发起HTTP请求，目前仅支持GET请求</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>url</em>&nbsp;</td><td>: 要请求的URL </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>Userheader</em>&nbsp;</td><td>：用户字定义请求头，一般为 NULL </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>RespBuffer</em>&nbsp;</td><td>: HTTP请求的返回结果保存在此缓冲中 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>RespBufSize,:</em>&nbsp;</td><td>HTTP缓冲的大小 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd>返回真正获取到的数据长度 返回“0代表”失败 </dd></dl>

</div>
</div>
<a class="anchor" id="a7274351a1e90fd37a14cd54ac422f3b0"></a><!-- doxytag: member="easyio_api::ReadEEPROM" ref="a7274351a1e90fd37a14cd54ac422f3b0" args=")(int pos, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a7274351a1e90fd37a14cd54ac422f3b0">easyio_api::ReadEEPROM</a>)(int pos, unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>读取EEPROM中的内容</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pos</em>&nbsp;</td><td>: 要读取的位置 </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 存储读出内容的缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 读取长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a89edcc1e11ff1453b4798eb5222b1639"></a><!-- doxytag: member="easyio_api::RecvSerialDataFunc" ref="a89edcc1e11ff1453b4798eb5222b1639" args=")(USART_PORT_NUM port, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a89edcc1e11ff1453b4798eb5222b1639">easyio_api::RecvSerialDataFunc</a>)(USART_PORT_NUM port, unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收串口数据</p>
<p>param[out] buffer : 接收缓冲区 param[out] size : 缓冲区大小大小 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a3ef076065163de890e981162e27f6ff8"></a><!-- doxytag: member="easyio_api::RecvSmsFunc" ref="a3ef076065163de890e981162e27f6ff8" args=")(char *from, char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a3ef076065163de890e981162e27f6ff8">easyio_api::RecvSmsFunc</a>)(char *from, char *body)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收短信</p>
<p>param[out] phonenum : 发送者电话号码 param[out] str : 短信内容 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ac0882bcaab788dd8a9f1dfe1335b0d50"></a><!-- doxytag: member="easyio_api::RecvTcpDataFunc" ref="ac0882bcaab788dd8a9f1dfe1335b0d50" args=")(unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#ac0882bcaab788dd8a9f1dfe1335b0d50">easyio_api::RecvTcpDataFunc</a>)(unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收Tcp数据</p>
<p>param[out] buffer : 接收缓冲区 param[out] size : 缓冲区大小大小 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4fad4f5f6389e0fa43ec11a4eca4fb78"></a><!-- doxytag: member="easyio_api::RecvWechatFunc" ref="a4fad4f5f6389e0fa43ec11a4eca4fb78" args=")(char *from, char *body, EIResult_t(*relpy)(char *msg))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a4fad4f5f6389e0fa43ec11a4eca4fb78">easyio_api::RecvWechatFunc</a>)(char *from, char *body, EIResult_t(*relpy)(char *msg))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收微信</p>
<p>param[out] from : 发送者ID param[out] msg : 微信内容 param[out] reply : 回复消息句柄 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a5baf2731b1fc36b8cf995d14333a682a"></a><!-- doxytag: member="easyio_api::ResetGprsMoudle" ref="a5baf2731b1fc36b8cf995d14333a682a" args=")()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a5baf2731b1fc36b8cf995d14333a682a">easyio_api::ResetGprsMoudle</a>)()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>GPRS 模块重启 ,只针对 gprs 模块进行复位重启</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a0bf72d0606b8256b399516c5db275c2e"></a><!-- doxytag: member="easyio_api::ResetSystem" ref="a0bf72d0606b8256b399516c5db275c2e" args=")()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a0bf72d0606b8256b399516c5db275c2e">easyio_api::ResetSystem</a>)()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>设备重启 ,执行此函数后，模块和MCU都将重启</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a687bd71e660b5262e599b0dcbba125e4"></a><!-- doxytag: member="easyio_api::SendP2paMsg" ref="a687bd71e660b5262e599b0dcbba125e4" args=")(const char *imei, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a687bd71e660b5262e599b0dcbba125e4">easyio_api::SendP2paMsg</a>)(const char *imei, const char *body)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送P2p消息</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>imei</em>&nbsp;</td><td>: 目的IMEI </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ad40530d74061e02d17ebbf8226c38693"></a><!-- doxytag: member="easyio_api::SendSms" ref="ad40530d74061e02d17ebbf8226c38693" args=")(const char *phonenum, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#ad40530d74061e02d17ebbf8226c38693">easyio_api::SendSms</a>)(const char *phonenum,const char *body)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送短信</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>phonenum</em>&nbsp;</td><td>: 目标手机号码 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>: 发送内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="acc85d91094267019c995d422f7374b5c"></a><!-- doxytag: member="easyio_api::SendTcpData" ref="acc85d91094267019c995d422f7374b5c" args=")(unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#acc85d91094267019c995d422f7374b5c">easyio_api::SendTcpData</a>)(unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发DTU送数据</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 发送缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 发送长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a10bd83b74e7674cf1b41c1c835f67e18"></a><!-- doxytag: member="easyio_api::SendXmppMsg" ref="a10bd83b74e7674cf1b41c1c835f67e18" args=")(const char *to, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a10bd83b74e7674cf1b41c1c835f67e18">easyio_api::SendXmppMsg</a>)(const char *to, const char *body)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送XMPP消息</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>to</em>&nbsp;</td><td>: 目的ID </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a43be80ce5ebd638efe4b6af8e358686f"></a><!-- doxytag: member="easyio_api::SerialPrintf" ref="a43be80ce5ebd638efe4b6af8e358686f" args=")(USART_PORT_NUM port, char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structeasyio__api.html#a43be80ce5ebd638efe4b6af8e358686f">easyio_api::SerialPrintf</a>)(USART_PORT_NUM port, char *fmt,...)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>格式化输出字符串到串口</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fmt</em>&nbsp;</td><td>: 格式化字符串</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a8068c5f078a50b0bc8551b5c6cf9b430"></a><!-- doxytag: member="easyio_api::SetRecvDebugDataHook" ref="a8068c5f078a50b0bc8551b5c6cf9b430" args=")(struct easyio_api *api, void(*func)(unsigned char *buffer, int size))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a8068c5f078a50b0bc8551b5c6cf9b430">easyio_api::SetRecvDebugDataHook</a>)(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(unsigned char *buffer, int size))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听调试串口的数据到达</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>func</em>&nbsp;</td><td>函数指针类型的参数,需要严格按照参数进行传值,否则会出现系统崩溃 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ae3c9dbc52f62284189c1e4c25eebdedf"></a><!-- doxytag: member="easyio_api::SetRecvSerialDataHook" ref="ae3c9dbc52f62284189c1e4c25eebdedf" args=")(struct easyio_api *api, void(*func)(USART_PORT_NUM port, unsigned char *buffer, int size))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#ae3c9dbc52f62284189c1e4c25eebdedf">easyio_api::SetRecvSerialDataHook</a>)(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(USART_PORT_NUM port, unsigned char *buffer, int size))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听串口数据到达的监听器</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>func</em>&nbsp;</td><td>函数指针类型的参数,需要严格按照参数进行传值,否则会出现系统崩溃 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ac110b5ee4272d5b0228be46207784335"></a><!-- doxytag: member="easyio_api::SetRecvSmsHook" ref="ac110b5ee4272d5b0228be46207784335" args=")(struct easyio_api *api, void(*func)(char *phonenum, char *str))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#ac110b5ee4272d5b0228be46207784335">easyio_api::SetRecvSmsHook</a>)(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(char *phonenum, char *str))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听短信到达的监听器</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>func</em>&nbsp;</td><td>函数指针类型的参数,需要严格按照参数进行传值,否则会出现系统崩溃 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a644fdef9503b073e0afa29b52d94b932"></a><!-- doxytag: member="easyio_api::SetRecvTcpcliDataHook" ref="a644fdef9503b073e0afa29b52d94b932" args=")(struct easyio_api *api, void(*func)(unsigned char *buffer, int size))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a644fdef9503b073e0afa29b52d94b932">easyio_api::SetRecvTcpcliDataHook</a>)(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(unsigned char *buffer, int size))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听TCP客户端数据到达的监听器</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>func</em>&nbsp;</td><td>函数指针类型的参数,需要严格按照参数进行传值,否则会出现系统崩溃 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ad93cca0151c9b9f937c7bec2bf85d7f7"></a><!-- doxytag: member="easyio_api::SetRecvWechatHook" ref="ad93cca0151c9b9f937c7bec2bf85d7f7" args=")(struct easyio_api *api, void(*func)(char *from, char *msg, EIResult_t(*relpy)(char *msg)))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#ad93cca0151c9b9f937c7bec2bf85d7f7">easyio_api::SetRecvWechatHook</a>)(struct <a class="el" href="structeasyio__api.html">easyio_api</a> *api, void(*func)(char *from, char *msg, EIResult_t(*relpy)(char *msg)))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>监听微信到达的监听器</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>func</em>&nbsp;</td><td>函数指针类型的参数,需要严格按照参数进行传值,否则会出现系统崩溃 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a018117a6eafcfe6ff30dd0b3b48f93e9"></a><!-- doxytag: member="easyio_api::SetSysDebugMask" ref="a018117a6eafcfe6ff30dd0b3b48f93e9" args=")(int mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a018117a6eafcfe6ff30dd0b3b48f93e9">easyio_api::SetSysDebugMask</a>)(int mask)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>设置调试信息输出掩码</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ac4641b9f122776bf385aa367442e5117"></a><!-- doxytag: member="easyio_api::SignalValue" ref="ac4641b9f122776bf385aa367442e5117" args=")()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structeasyio__api.html#ac4641b9f122776bf385aa367442e5117">easyio_api::SignalValue</a>)()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取信号质量</p>
<dl class="return"><dt><b>返回:</b></dt><dd>返回信号数值 [0-30] </dd></dl>

</div>
</div>
<a class="anchor" id="a165c7f839018626220040c9d6ec073f3"></a><!-- doxytag: member="easyio_api::Sleep" ref="a165c7f839018626220040c9d6ec073f3" args=")(int tick)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structeasyio__api.html#a165c7f839018626220040c9d6ec073f3">easyio_api::Sleep</a>)(int tick)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>休眠百分之一妙,100个tick为1秒 ,api.Sleep(1); 10毫秒延迟</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a74371fc16142695ab3b29d05fe425312"></a><!-- doxytag: member="easyio_api::WriteEEPROM" ref="a74371fc16142695ab3b29d05fe425312" args=")(int pos, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a74371fc16142695ab3b29d05fe425312">easyio_api::WriteEEPROM</a>)(int pos, unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>将内容写入EEPROM</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pos</em>&nbsp;</td><td>: 要写入的位置 </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 写入缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 写入长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a1298934569b7e9b86cee12ff6cfd00de"></a><!-- doxytag: member="easyio_api::WriteSerial" ref="a1298934569b7e9b86cee12ff6cfd00de" args=")(USART_PORT_NUM port, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EIResult_t(* <a class="el" href="structeasyio__api.html#a1298934569b7e9b86cee12ff6cfd00de">easyio_api::WriteSerial</a>)(USART_PORT_NUM port, unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>将内容写入串口</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 写入缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 写入长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<hr/>该结构的文档由以下文件生成：<ul>
<li><a class="el" href="api_8h_source.html">api.h</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>类</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>枚举</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>枚举值</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at Fri Mar 28 2014 11:51:07 for EasyIO-GPRS-Framework by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>
